#ifndef SDL_MENU
#define SDL_MENU
#pragma warning( disable : 4290 )

class sdlmenu_error : public std::logic_error 
{
public:
	sdlmenu_error(const std::string &error) : logic_error(error) { }
};

class SDLMenu
{
private:
       struct SDL_Surface *screen_;
       struct SDL_Surface *background_;
       class SDLButton *button_[3];
       class SDLText *button_text_[3];
       struct SDL_Rect ba_dst_;
       class SDLEvent event_;
       bool running_;

       void render();
public:
       SDLMenu(struct SDL_Surface *target_surface) throw(sdlmenu_error);
       ~SDLMenu();

       void run();
};
#endif